package com.rongke.model;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rongke.utils.DateJsonDeserializer;
import com.rongke.utils.DateJsonSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

/**
 * @FenqiPlan
 * @(fenqi_plan)
 * @version : Ver 1.0
 */
@TableName("fenqi_plan")
public class FenqiPlan implements Serializable {
	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

	/**
	 * @备注:
	 * @字段:id BIGINT(19)
	 */
	@TableId(type = IdType.AUTO)
	private Long id;

	private Date realPayTime;

	public Date getRealPayTime() {
		return realPayTime;
	}

	public void setRealPayTime(Date realPayTime) {
		this.realPayTime = realPayTime;
	}

	public Long getParamSettingId() {
		return paramSettingId;
	}

	public void setParamSettingId(Long paramSettingId) {
		this.paramSettingId = paramSettingId;
	}

	private Long paramSettingId;

	/**
	 * @备注:
	 * @字段:user_id BIGINT(19)
	 */
	private Long userId;

	private Integer fenqiNo;

	public Integer getFenqiNo() {
		return fenqiNo;
	}

	public void setFenqiNo(Integer fenqiNo) {
		this.fenqiNo = fenqiNo;
	}

	/**
	 * @备注:订单关联id
	 * @字段:order_id BIGINT(19)
	 */
	private Long orderId;


	/**
	 * @备注:借款期限
	 * @字段:limit_days INT(10)
	 */
	private Integer limitDays;


	/**
	 * @备注:借款金额
	 * @字段:borrow_money DECIMAL(33)
	 */
	private java.math.BigDecimal borrowMoney;


	/**
	 * @备注:借款时间
	 * @字段:gmt_datetime DATETIME(19)
	 */
	@JsonSerialize(using=DateJsonSerializer.class)
	@JsonDeserialize(using=DateJsonDeserializer.class)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
	private java.util.Date gmtDatetime = new java.util.Date();


	/**
	 * @备注:应还款时间
	 * @字段:limit_pay_time DATE(10)
	 */
	private java.util.Date limitPayTime;


	/**
	 * @备注:超出容限期时间
	 * @字段:overdue_time DATE(10)
	 */
	private java.util.Date overdueTime;


	/**
	 * @备注:应还款金额
	 * @字段:need_pay_money DECIMAL(33)
	 */
	private java.math.BigDecimal needPayMoney;


	/**
	 * @备注:实际还款金额
	 * @字段:real_pay_money DECIMAL(33)
	 */
	private java.math.BigDecimal realPayMoney;


	/**
	 * @备注:逾期天数
	 * @字段:overdue_days INT(10)
	 */
	private Integer overdueDays;


	/**
	 * @备注:逾期费用
	 * @字段:overdue_money DECIMAL(33)
	 */
	private java.math.BigDecimal overdueMoney;


	/**
	 * @备注:容限期天数
	 * @字段:allow_days INT(10)
	 */
	private Integer allowDays;


	/**
	 * @备注:容限期利息
	 * @字段:allow_money DECIMAL(33)
	 */
	private java.math.BigDecimal allowMoney;


	/**
	 * @备注:分期订单状态
	 * @字段:fenqi_order_status INT(10)
	 */
	private Integer fenqiOrderStatus;


	/**
	 * @备注:续期次数
	 * @字段:extend_num INT(10)
	 */
	private Integer extendNum;


	public FenqiPlan(){
	}

	public FenqiPlan(
		Long id
	){
		this.id = id;
	}



	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return this.id;
	}


	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getUserId() {
		return this.userId;
	}


	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public Long getOrderId() {
		return this.orderId;
	}


	public void setLimitDays(Integer limitDays) {
		this.limitDays = limitDays;
	}

	public Integer getLimitDays() {
		return this.limitDays;
	}


	public void setBorrowMoney(java.math.BigDecimal borrowMoney) {
		this.borrowMoney = borrowMoney;
	}

	public java.math.BigDecimal getBorrowMoney() {
		return this.borrowMoney;
	}


	public void setGmtDatetime(java.util.Date gmtDatetime) {
		this.gmtDatetime = gmtDatetime;
	}

	public java.util.Date getGmtDatetime() {
		return this.gmtDatetime;
	}


	public void setLimitPayTime(java.util.Date limitPayTime) {
		this.limitPayTime = limitPayTime;
	}

	public java.util.Date getLimitPayTime() {
		return this.limitPayTime;
	}


	public void setOverdueTime(java.util.Date overdueTime) {
		this.overdueTime = overdueTime;
	}

	public java.util.Date getOverdueTime() {
		return this.overdueTime;
	}


	public void setNeedPayMoney(java.math.BigDecimal needPayMoney) {
		this.needPayMoney = needPayMoney;
	}

	public java.math.BigDecimal getNeedPayMoney() {
		return this.needPayMoney;
	}


	public void setRealPayMoney(java.math.BigDecimal realPayMoney) {
		this.realPayMoney = realPayMoney;
	}

	public java.math.BigDecimal getRealPayMoney() {
		return this.realPayMoney;
	}


	public void setOverdueDays(Integer overdueDays) {
		this.overdueDays = overdueDays;
	}

	public Integer getOverdueDays() {
		return this.overdueDays;
	}


	public void setOverdueMoney(java.math.BigDecimal overdueMoney) {
		this.overdueMoney = overdueMoney;
	}

	public java.math.BigDecimal getOverdueMoney() {
		return this.overdueMoney;
	}


	public void setAllowDays(Integer allowDays) {
		this.allowDays = allowDays;
	}

	public Integer getAllowDays() {
		return this.allowDays;
	}


	public void setAllowMoney(java.math.BigDecimal allowMoney) {
		this.allowMoney = allowMoney;
	}

	public java.math.BigDecimal getAllowMoney() {
		return this.allowMoney;
	}


	public void setFenqiOrderStatus(Integer fenqiOrderStatus) {
		this.fenqiOrderStatus = fenqiOrderStatus;
	}

	public Integer getFenqiOrderStatus() {
		return this.fenqiOrderStatus;
	}


	public void setExtendNum(Integer extendNum) {
		this.extendNum = extendNum;
	}

	public Integer getExtendNum() {
		return this.extendNum;
	}
}
